Repository navigation
Parallelize release builds - #1930
Merged
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1930 +/- ##
=======================================
Coverage 68.20% 68.20%
=======================================
Files 43 43
Lines 8743 8743
=======================================
Hits 5963 5963
Misses 2780 2780
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
adamchalmers
marked this pull request as ready for review
October 27, 2026 13:57
adamchalmers
force-pushed
the
codex/shard-release-builds
branch
from
October 27, 2026 17:46
3bb53a5 to
9fffb07
Compare
iterion
approved these changes
Oct 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Background: We publish the CLI for five OS/arch combinations: Mac (x86, ARM), Windows (just x86) and Linux (x86, ARM).
Problem: The MacOS runner builds two binaries in serial (x86, then ARM). The Ubuntu runner builds three binaries in serial (Windows x86, Linux x86, Linux ARM). This is fine, but slow. It'd be faster to parallelize across 5 runners, one per job. That's how the check-release CI job works, we should make the real release work the same way.
Solution: Prepare Cargo sources, the Linux
crossexecutable, version, and prerelease status once, then run one shard per target. So, there's a shared initial "prepare" step, then shard across the five targets, then come back together to verify/document/publish them.Share preparation with PR CI through a composite action. Reuse PR build caches, scoped by host OS/architecture, target, Rust compiler, and lockfile. Collect artifacts before one upload; preserve binary names, checksum files, and download URLs. Homebrew uses the prepared version without installing Cargo tools or compiler packages.
Testing
Merge Danger
Door: Two-way
Blast Radius: Releases
Changes release scheduling, artifact collection, and publishing dependencies. Publishing waits for every target and checksum verification. No new tag or release was published during validation.